<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--
@html_name: 02await
@description: The past cannot be redeemed, the future can be changed.
@author: Jason Black
@create: 2023/6/27 10:26:12
-->
<script type="text/javascript">

    /**
     *  async 与 await 结合使用可以实现异步编程：发送ajax请求返回promise对象、异步IO。。。。
     * 1.await必须写在async函数中
     * 2.await右侧的表达式一般为promise对象
     * 3.await返回的是promise成功的值
     * 4.await的promise失败了，就会抛出异常，需要通过try.catch捕获处理
     * @type {Promise<unknown>}
     */
    const PROMISE = new Promise((resolve, reject) => {
        reject("Jason Black")
    })

    // await 必须要放在await函数中使用
    async function methodTest() {
        try{
            await PROMISE
        } catch (e){
            console.log(PROMISE)
        }
    }

    PROMISE.then(value => {
        console.log(value)
    })
</script>
</body>
</html>